public class A_C_0 extends Closure_1
{
    public void __initWith() {}
    public Value apply_1(Value n) {
        {
            Value _t0;
            {
                Bool _t1;
                {
                    Value _t2;
                    Value _t3;
                    _t2 = n;
                    _t3 = new Int(0);
                    _t1 = Prelude.eq(_t2, _t3);
                }
                if (((Bool)_t1).toBool()) {
                    _t0 = new Int(1);
                } else {
                    {
                        Value _t4;
                        Value _t5;
                        _t4 = n;
                        {
                            Applicable _t6;
                            {
                                A_C_0 _t7;
                                _t7 = this;
                                _t6 = (Applicable)_t7;
                            }
                            {
                                Value _t8;
                                {
                                    Value _t9;
                                    Value _t10;
                                    _t9 = n;
                                    _t10 = new Int(1);
                                    _t8 = Prelude.subInt(
					 _t9, _t10);
                                }
                                _t5 = _t6.apply_1(_t8);
                            }
                        }
                        _t0 = Prelude.mulInt(_t4, _t5);
                    }
                }
            }
            return _t0;
        }
    }
}

